module(
    name = "rules_swift_package_manager",
    version = "0.20.0",
)

# MARK: - Runtime Dependencies

bazel_dep(name = "cgrindel_bazel_starlib", version = "0.18.1")
bazel_dep(name = "bazel_skylib", version = "1.4.2")
bazel_dep(
    name = "rules_go",
    version = "0.40.1",
    repo_name = "io_bazel_rules_go",
)

# The apple_support bazel_dep must come before the rules_cc.
# https://github.com/bazelbuild/apple_support#incompatible-toolchain-resolution
bazel_dep(name = "apple_support", version = "1.11.1")
bazel_dep(name = "rules_cc", version = "0.0.6")
bazel_dep(name = "platforms", version = "0.0.6")

# With bzlmod enabled, any dependencies for repositories generated by
# rules_swift_package_manager _must_ be a runtime dependency of rules_swift_package_manager.
bazel_dep(
    name = "rules_swift",
    version = "1.13.0",
    repo_name = "build_bazel_rules_swift",
)
bazel_dep(
    name = "rules_apple",
    version = "3.1.1",
    repo_name = "build_bazel_rules_apple",
)
bazel_dep(
    name = "gazelle",
    version = "0.32.0",
    repo_name = "bazel_gazelle",
)

apple_cc_configure = use_extension(
    "@apple_support//crosstool:setup.bzl",
    "apple_cc_configure_extension",
)
use_repo(apple_cc_configure, "local_config_apple_cc")

go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_bazelbuild_buildtools",
    "com_github_creasty_defaults",
    "com_github_deckarep_golang_set_v2",
    "com_github_stretchr_testify",
    "in_gopkg_yaml_v3",
    "org_golang_x_exp",
    "org_golang_x_text",
)

# MARK: - Dev Dependencies

bazel_dep(
    name = "rules_bazel_integration_test",
    version = "0.14.1",
    dev_dependency = True,
)
bazel_dep(
    name = "bazel_skylib_gazelle_plugin",
    version = "1.4.1",
    dev_dependency = True,
)

bazel_binaries = use_extension(
    "@rules_bazel_integration_test//:extensions.bzl",
    "bazel_binaries",
    dev_dependency = True,
)
bazel_binaries.download(version_file = "//:.bazelversion")
use_repo(bazel_binaries, "bazel_binaries")
